package com.ymttest.common.entitie;

import java.math.BigDecimal;
import java.util.List;

import com.ymatou.iapi.trading.sellerquery2.parameter.resp.SubProductInfo;
import com.ymttest.utils.DataUtil;
import com.ymttest.utils.YMTDateUtil;

public class BondedProductInfo {

	/**
	 * 收货人地址
	 */
	private String Address;

	/**
	 * 下单时间
	 */
	private String AddTime;

	/**
	 * 保税区
	 */
	private String BondedArea;

	/**
	 * 保税区ID
	 */
	private int BondedAreaId;

	/**
	 * 买家用户名
	 */
	private String BuyerLoginId;

	/**
	 * 买家姓名
	 */
	private String BuyerName;

	/**
	 * 买家电话
	 */
	private String BuyerPhone;

	/**
	 * 规格Id
	 */
	private String CatalogId;

	/**
	 * 规格
	 */
	private String CatalogInfo;

	/**
	 * 收货人城市
	 */
	private String City;

	/**
	 * 收货人县/区
	 */
	private String County;

	/**
	 * 快递公司
	 */
	private String ExpressCompany;

	/**
	 * 运费
	 */
	private BigDecimal Freight = BigDecimal.ZERO;

	/**
	 * 是否全额支付
	 */
	private boolean IsPaidInFull;

	/**
	 * 买家留言
	 */
	private String LeaveWord;

	/**
	 * 订单号
	 */
	private int OrderNo;

	/**
	 * 订单备注（买家）
	 */
	private String OrderNote;

	/**
	 * 订单状态
	 */
	private int OrderState;

	/**
	 * 支付流水号
	 */
	private String PaySerialNo;

	/**
	 * 支付方式
	 */
	private String PayType;

	/**
	 * 收货人手机
	 */
	private String Phone;

	/**
	 * 收货人邮编
	 */
	private String PostCode;

	/**
	 * 商品编号
	 */
	private String ProductCode;

	/**
	 * 商品名
	 */
	private String ProductName;

	/**
	 * 商品编号
	 */
	private String ProductNo;

	/**
	 * 商品数量
	 */
	private int ProductNum;

	/**
	 * 单价
	 */
	private BigDecimal ProductPrice = BigDecimal.ZERO;

	/**
	 * 商品备案号
	 */
	private String ProductRegisterNo;

	/**
	 * 商品SKU
	 */
	private String ProductSku;

	/**
	 * 收货人所在省份
	 */
	private String Province;

	/**
	 * 收件人Email
	 */
	private String ReceiveEmail;

	/**
	 * 收货人姓名
	 */
	private String ReceivePerson;

	/**
	 * 收货人证件号
	 */
	private String ReceiverCertificateNo;

	/**
	 * 订单风控状态 RiskVerifiedStatusEnum
	 */
	private Integer RiskVerifiedStatus;

	/**
	 * 卖家优惠券使用额度
	 */
	private BigDecimal SellerCouponAmount = BigDecimal.ZERO;

	/**
	 * 收货人其他联系方式
	 */
	private String Telephone;

	/**
	 * 总金额
	 */
	private BigDecimal TotalPrice = BigDecimal.ZERO;

	/**
	 * 组合商品
	 */
	private List<SubProductInfo> SubProductInfos;

	public String getAddress() {
		return Address;
	}

	public void setAddress(String address) {
		Address = address;
	}

	public String getAddTime() {
		if (null != AddTime) {
			return YMTDateUtil.getBeforeOrNextDay(AddTime.replaceAll(" ", "T"),
					0, YMTDateUtil.YMDTHMS_STRING);
		}
		return AddTime;
	}

	public void setAddTime(String addTime) {
		if (addTime != null) {
			AddTime = YMTDateUtil
					.getBeforeOrNextDay(addTime.replaceAll(" ", "T"), 0,
							YMTDateUtil.YMDTHMS_STRING);
		} else {
			AddTime = addTime;
		}
	}

	public String getBondedArea() {
		return BondedArea;
	}

	public void setBondedArea(String bondedArea) {
		BondedArea = bondedArea;
	}

	public int getBondedAreaId() {
		return BondedAreaId;
	}

	public void setBondedAreaId(int bondedAreaId) {
		BondedAreaId = bondedAreaId;
	}

	public String getBuyerLoginId() {
		return BuyerLoginId;
	}

	public void setBuyerLoginId(String buyerLoginId) {
		BuyerLoginId = buyerLoginId;
	}

	public String getBuyerName() {
		return BuyerName;
	}

	public void setBuyerName(String buyerName) {
		BuyerName = buyerName;
	}

	public String getBuyerPhone() {
		return BuyerPhone;
	}

	public void setBuyerPhone(String buyerPhone) {
		BuyerPhone = buyerPhone;
	}

	public String getCatalogId() {
		return CatalogId;
	}

	public void setCatalogId(String catalogId) {
		CatalogId = catalogId;
	}

	public String getCatalogInfo() {
		return CatalogInfo;
	}

	public void setCatalogInfo(String catalogInfo) {
		CatalogInfo = catalogInfo;
	}

	public String getCity() {
		return City;
	}

	public void setCity(String city) {
		City = city;
	}

	public String getCounty() {
		return County;
	}

	public void setCounty(String county) {
		County = county;
	}

	public String getExpressCompany() {
		return ExpressCompany;
	}

	public void setExpressCompany(String expressCompany) {
		ExpressCompany = expressCompany;
	}

	public BigDecimal getFreight() {
		return Freight;
	}

	public void setFreight(BigDecimal freight) {
		Freight = freight;
	}

	public boolean isIsPaidInFull() {
		return IsPaidInFull;
	}

	public void setIsPaidInFull(boolean isPaidInFull) {
		IsPaidInFull = isPaidInFull;
	}

	public String getLeaveWord() {
		return LeaveWord;
	}

	public void setLeaveWord(String leaveWord) {
		LeaveWord = leaveWord;
	}

	public int getOrderNo() {
		return OrderNo;
	}

	public void setOrderNo(int orderNo) {
		OrderNo = orderNo;
	}

	public String getOrderNote() {
		return OrderNote;
	}

	public void setOrderNote(String orderNote) {
		OrderNote = orderNote;
	}

	public int getOrderState() {
		return OrderState;
	}

	public void setOrderState(int orderState) {
		OrderState = orderState;
	}

	public String getPaySerialNo() {
		return PaySerialNo;
	}

	public void setPaySerialNo(String paySerialNo) {
		PaySerialNo = paySerialNo;
	}

	public String getPayType() {
		return PayType;
	}

	public void setPayType(String payType) {
		PayType = payType;
	}

	public String getPhone() {
		return Phone;
	}

	public void setPhone(String phone) {
		Phone = phone;
	}

	public String getPostCode() {
		return PostCode;
	}

	public void setPostCode(String postCode) {
		PostCode = postCode;
	}

	public String getProductCode() {
		return ProductCode;
	}

	public void setProductCode(String productCode) {
		ProductCode = productCode;
	}

	public String getProductName() {
		return ProductName;
	}

	public void setProductName(String productName) {
		ProductName = productName;
	}

	public String getProductNo() {
		return ProductNo;
	}

	public void setProductNo(String productNo) {
		ProductNo = productNo;
	}

	public int getProductNum() {
		return ProductNum;
	}

	public void setProductNum(int productNum) {
		ProductNum = productNum;
	}

	public BigDecimal getProductPrice() {
		return ProductPrice;
	}

	public void setProductPrice(BigDecimal productPrice) {
		ProductPrice = productPrice;
	}

	public String getProductRegisterNo() {
		return ProductRegisterNo;
	}

	public void setProductRegisterNo(String productRegisterNo) {
		ProductRegisterNo = productRegisterNo;
	}

	public String getProductSku() {
		return ProductSku;
	}

	public void setProductSku(String productSku) {
		ProductSku = productSku;
	}

	public String getProvince() {
		return Province;
	}

	public void setProvince(String province) {
		Province = province;
	}

	public String getReceiveEmail() {
		return ReceiveEmail;
	}

	public void setReceiveEmail(String receiveEmail) {
		ReceiveEmail = receiveEmail;
	}

	public String getReceivePerson() {
		return ReceivePerson;
	}

	public void setReceivePerson(String receivePerson) {
		ReceivePerson = receivePerson;
	}

	public String getReceiverCertificateNo() {
		return ReceiverCertificateNo;
	}

	public void setReceiverCertificateNo(String receiverCertificateNo) {
		ReceiverCertificateNo = receiverCertificateNo;
	}

	public Integer getRiskVerifiedStatus() {
		return RiskVerifiedStatus;
	}

	public void setRiskVerifiedStatus(Integer riskVerifiedStatus) {
		RiskVerifiedStatus = riskVerifiedStatus;
	}

	public BigDecimal getSellerCouponAmount() {
		return SellerCouponAmount;
	}

	public void setSellerCouponAmount(BigDecimal sellerCouponAmount) {
		SellerCouponAmount = sellerCouponAmount;
	}

	public String getTelephone() {
		return Telephone;
	}

	public void setTelephone(String telephone) {
		Telephone = telephone;
	}

	public BigDecimal getTotalPrice() {
		return TotalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		TotalPrice = totalPrice;
	}

	public List<SubProductInfo> getSubProductInfos() {
		return SubProductInfos;
	}

	public void setSubProductInfos(List<SubProductInfo> subProductInfos) {
		this.SubProductInfos = subProductInfos;
	}

	public boolean equals(BondedProductInfo that) {
		return DataUtil.Json
				.compareJsonObject(this.toString(), that.toString());
	}

	public String toString() {
		net.sf.json.JSONObject object = net.sf.json.JSONObject.fromObject(this);
		return DataUtil.Json.sortJsonObject(object).toString();
	}
}